Disk drive with improved spin-up control

ABSTRACT

A disk drive is disclosed comprising a head actuated over a disk, and a spindle motor configured to rotate the disk. The disk drive further comprises control circuitry configured to measure a rotation speed of the spindle motor, generate a feed-forward control based on the measured rotation speed, and spin-up the spindle motor based on the feed-forward control.

CROSS-REFERENCED TO RELATED APPLICATION(S)

This application is a divisional application of U.S. application Ser.No. 14/480,566, filed Sep. 8, 2014, entitled “DISK DRIVE WITH IMPROVEDSPIN-UP CONTROL” (WD Docket No. T6366.D1) which is a divisional of U.S.application Ser. No. 13/869,885, filed Apr. 24, 2013, entitled “DISKDRIVE WITH IMPROVED SPIN-UP CONTROL” (WD Docket No. T6366), thedisclosure of which is hereby incorporated by reference in its entirety.

BACKGROUND

Disk drives comprise a disk and a head connected to a distal end of anactuator arm which is rotated about a pivot by a voice coil motor (VCM)to position the head radially over the disk. The disk comprises aplurality of radially spaced, concentric tracks for recording user datasectors and servo sectors. The servo sectors comprise head positioninginformation (e.g., a track address) which is read by the head andprocessed by a servo control system to control the actuator arm as itseeks from track to track.

A spindle motor rotates the disk (or disks) at a high speed so that thehead essentially flies over the disk surface on an air bearing. When thedisk drive is powered on, a spin-up operation is executed in order tospin up the disk to the operating speed before loading the head over thedisk surface. It is desirable to spin up the disk as fast as possible inorder to minimize the delay before a host may access the disk drive. Inaddition, it may be desirable to achieve a substantially consistentspin-up time across a family of disk drives so that a disk drivemanufacturer may provide an accurate specification for the spin-up time,thereby enabling the design of storage systems based on the spin-upspecification.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B show a disk drive according to an embodiment comprisinga head actuated over a disk, and a spindle motor for rotating the disk.

FIG. 1C is a flow diagram according to an embodiment wherein a pluralityof electrical cycle periods of the spindle motor are measured, at leasttwo of the cycle periods are combined, and a rotation speed of thespindle motor is measured based on the combined cycle periods.

FIG. 1D shows an embodiment wherein the cycle periods are combined usinga moving average filter that averages N consecutive electrical cycleperiods of the spindle motor.

FIGS. 2A and 2B show a disk drive according to an embodiment comprisinga head actuated over a disk, and a spindle motor for rotating the disk.

FIG. 2C is a flow diagram according to an embodiment wherein a spin-upgain is generated as a function of a measured rotation speed of thespindle motor, wherein the function comprises a polynomial having adegree greater than one.

FIG. 2D shows control circuitry for spinning up the spindle motor basedon the spin-up gain according to an embodiment.

FIG. 2E shows a polynomial of degree greater than one for generating thespin-up gain as a function of the measured rotation speed of the spindlemotor according to an embodiment.

FIGS. 3A and 3B show a disk drive according to an embodiment comprisinga head actuated over a disk, and a spindle motor for rotating the disk.

FIG. 3C is a flow diagram according to an embodiment wherein afeed-forward spin-up control is generated based on a measured rotationspeed of the spindle motor.

FIG. 3D shows control circuitry for spinning up the spindle motor basedon the feed-forward spin-up control according to an embodiment.

FIGS. 4A and 4B show a disk drive according to an embodiment comprisinga head actuated over a disk, and a spindle motor for rotating the disk.

FIG. 4C is a flow diagram according to an embodiment wherein the spindlemotor is spun up based on a speed command profile that ensures a minimumspin-up time and a limited power consumption under a worst caseenvironmental condition.

FIG. 4D shows control circuitry for spinning up the spindle motor basedon the speed command profile according to an embodiment.

FIG. 4E shows an example speed command profile according to anembodiment.

FIGS. 5A and 5B show a disk drive according to an embodiment comprisinga head actuated over a disk, and a spindle motor for rotating the disk.

FIG. 5C is a flow diagram according to an embodiment wherein the spindlemotor is spun up over a second fraction of a spin-up time based on aninitial measured rotation speed of the spindle motor.

FIG. 5D shows control circuitry for spinning up the spindle motor overthe second fraction of a spin-up time according to an embodiment.

FIG. 5E shows how the second fraction of the spin-up time may bedetermined based on an initial measured rotation speed of the spindlemotor according to an embodiment.

FIGS. 6A and 6B show a disk drive according to an embodiment comprisinga head actuated over a disk, and a spindle motor for rotating the disk.

FIG. 6C is a flow diagram according to an embodiment wherein afterspinning up the spindle motor, an integrator of a constant-speedcontroller is initialized based on a state of a spin-up controller.

FIG. 6D shows control circuitry for spinning up the spindle motor usinga spin-up controller according to an embodiment.

FIG. 6E shows control circuitry for spinning the disk using aconstant-speed controller after completing the spin-up operationaccording to an embodiment.

FIG. 7 shows control circuitry for spinning up the spindle motor using acombination of the above-described techniques according to anembodiment.

DETAILED DESCRIPTION

FIGS. 1A and 1B show a disk drive according to an embodiment comprisinga head 2A actuated over a disk 4, and a spindle motor 6 operable torotate the disk 4. The spindle motor 6 operates according to a pluralityof electrical cycles over a single revolution of the spindle motor 6,where each electrical cycle spans a cycle period. The disk drive furthercomprises control circuitry 8 operable to execute the flow diagram ofFIG. 1C, wherein a plurality of the cycle periods are measured (block10), at least two of the cycle periods are combined (block 12), and arotation speed of the spindle motor is measured based on the combinedcycle periods (block 14).

In the embodiment of FIG. 1B, the disk surface 4A comprises a pluralityof servo tracks 16 defined by servo sectors 18 ₀-18 _(N), wherein datatracks are defined relative to the servo tracks at the same or differentradial density. The control circuitry 8 processes a read signalemanating from the head 2A to demodulate the servo sectors 18 ₀-18 _(N)and generate a position error signal (PES) representing an error betweenthe actual position of the head and a target position relative to atarget track. The control circuitry 8 filters the PES using a suitablecompensation filter to generate a control signal 20 applied to a voicecoil motor (VCM) 22 which rotates an actuator arm about a pivot in orderto actuate the head 2A radially over the disk surface 4A in a directionthat reduces the PES. The servo sectors 18 ₀-18 _(N) may comprise anysuitable head position information, such as a track address for coarsepositioning and servo bursts for fine positioning. The servo bursts maycomprise any suitable pattern, such as an amplitude based servo patternor a phase based servo pattern.

During a spin-up operation, the control circuitry 8 measures a rotationspeed of the spindle motor 6 which is compared to a target rotationspeed of a speed command profile. A control signal 24 is generated basedon the difference (error) so that the rotation speed of the spindlemotor substantially follows the speed command profile until reaching thespin-up rotation speed. The performance of the spin-up operation maydepend on the accuracy of the measured rotation speed of the spindlemotor.

In one embodiment, the rotation speed of the spindle motor may bemeasured by evaluating the back electromotive force (BEMF)zero-crossings in each winding of the spindle motor. The spindle motortypically operates according to a plurality of electrical cycles over asingle revolution, wherein the total number of electrical cycles dependson the number of pole-pairs employed in the spindle motor. For example,a 6-pole-pair spindle motor will generate six electrical cycles over asingle revolution. Accordingly, at each BEMF zero crossing representingthe end of an electrical cycle, the rotation speed of the spindle motormay be represented as:

${{SpindleSpeed}\;\lbrack{RPM}\rbrack} = \frac{60}{{cycle\_ period} \cdot \left\lbrack {\# \mspace{14mu} {of\_ pole}{\_ pairs}} \right\rbrack}$

However, due to a misalignment of the poles, measuring the rotationspeed of the spindle motor based on a single electrical cycle periodresults in a noisy measurement, thereby reducing the performance of thespin-up operation. Accordingly, in one embodiment the noise due to themisalignment of the poles is attenuated by combining at least two of thecycle periods, and then measuring the rotation speed of the spindlemotor based on the combined cycle periods.

FIG. 1D shows control circuitry according to an embodiment wherein thespindle motor operates according to N electrical cycles over a singlerevolution of the spindle motor, and the cycle periods are combined bysumming N consecutive cycle periods. Block 26 measures an electricalcycle period 28 of the spindle motor, such as by detecting a zerocrossing in the BEMF voltage generated by the windings. The measuredelectrical cycle periods 28 are shifted into a delay line 30, and aftermeasuring N electrical cycle periods, a mechanical cycle period 32 isgenerated as the sum of the last N measured electrical cycle periods 28.The mechanical cycle period 32 is converted at block 34 into a measuredrotation speed 36 in rotations per minute (RPM). The measured electricalcycle periods are accumulated 38 to generate a time index 40 used toindex a speed command profile (SCP) 42 that outputs a target rotationspeed 44 over a spin-up interval. The measured rotation speed 36 issubtracted from the target rotation speed 44 to generate an error signal46 processed by a controller 48. The controller 48 generates a controlsignal 50 applied to a driver 52 in order to generate the control signal24 applied to the spindle motor 6 to thereby accelerate the spindlemotor 6 so that the rotation speed substantially follows the targetspeed output by the SCP 42.

In the embodiment of FIG. 1D, as each new electrical cycle period 28 ismeasured at block 26, the mechanical cycle period 32 is updated based onthe running N consecutive electrical cycle periods. That is, the delayline 30, adder 54, and scalar 34 implement a moving average filter (MAF)of the form:

${{SpindleSpeed}\;\lbrack{RPM}\rbrack} = \frac{60}{\left\lbrack {1 + z^{- 1} + {z^{- 2}\mspace{14mu} \ldots} + z^{- {({N - 1})}}} \right\rbrack \cdot {cycle\_ period}}$

The moving average filter represented by the above equation effectivelyfilters out the noise in the measured rotation speed of the spindlemotor caused by the misalignment of the poles. In one embodiment, theabove moving average filter may be modified to sum fewer or more thanthe N electrical cycle periods over a revolution of the spindle motor.

FIGS. 2A and 2B show a disk drive according to an embodiment wherein thecontrol circuitry 8 is operable to execute the flow diagram of FIG. 2Cduring a spin-up operation. A rotation speed of the spindle motor ismeasured (block 56), and a gain is generated as a function of themeasured rotation speed (block 58), wherein the function comprises apolynomial having a degree greater than one. The spindle motor is spunup based on the gain (block 60).

FIG. 2D shows control circuitry for spinning up the spindle motoraccording to an embodiment wherein block 62 measures a rotation speed 64of the spindle motor 6, such as by measuring the electrical cycleperiods as described above. A function 66 generates a gain Kfbk 68 thatis used to spin up the spindle motor, where in the embodiment of FIG.2D, the gain Kfbk 68 is multiplied by the error signal 46 to generatethe control signal 50. That is, the control circuitry in the embodimentof FIG. 2D comprises at least a proportional controller for spinning upthe spindle motor, wherein the gain of the proportional controller isgenerated as a function of the measured rotation speed of the spindlemotor.

FIG. 2E illustrates an embodiment wherein the function 66 for generatingthe gain Kfbk in FIG. 2D comprises a polynomial having a degree greaterthan one. In the example of FIG. 2D, the function 66 comprises aquadratic polynomial; however, other embodiments may use a higher degreepolynomial. In one embodiment, the gain Kfbk may be computed for anumber of different rotation speeds based on a design bandwidth of thecontrol loop using a complex equation, which consists of the transferfunctions of the spindle motor 6, motor driver 52, and the function formeasuring the rotation speed of the spindle motor (e.g., the MAFdescribed above). After generating the gain Kfbk for the number ofdifferent rotation speeds, the gain values may be fitted to a curverepresenting a polynomial having a degree greater than one. Thefollowing is an example derivation of the gain Kfbk based on themeasured rotation speed and the bandwidth of the control loop:

Define Units: ${RPM}:=\frac{2{\pi rad}}{60\mspace{14mu} s}$ kRPM :=1000 RPM gmf := 10⁻³kgf j := {square root over (−1)} Motor Parameters:Inertia := 44 gm · cm² = 4.4 × 10⁻⁶m² · kg$K_{e}:={0.61\frac{V}{{kR}\; P\; M}}$$K_{t}:={K_{e} = {5.825 \times {10^{- 3} \cdot \frac{N \cdot m}{A}}}}$$K_{f}:={0.45\frac{{gmf} \cdot {cm}}{kRPM}}$ R_(w) := 3.6Ω R_(i) :=0.124Ω R_(d) := 0.648 · Ω L_(w) := 0.6 mH R_(a) := R_(w) + R_(i) + R_(d)= 4.372Ω Speed₀ := 5400 RPM$\omega_{0}:={{Speed}_{0} = {565.487 \cdot \frac{rad}{s}}}$$T_{s}:={\frac{2\pi}{\omega_{0}} = {0.011\mspace{14mu} s}}$ Ecycles:= 6$\omega_{e\; 0}:={{\omega_{0} \cdot {Ecycles}} = {3.393 \times {10^{3} \cdot \frac{rad}{s}}}}$$T_{es}:={\frac{2\pi}{\omega_{0} \cdot {Ecycles}} = {1.852 \cdot {ms}}}$SpClockFreq := 100 MHz SpClockDiv := 32 V_(supply) := 5 V nBitsKval :=12 $f_{olbw}:={\frac{1}{48T_{es}} = {11.25 \cdot {Hz}}}$$K_{d}:={{\frac{1}{1\mspace{14mu} {RPM}} \cdot \frac{1}{1} \cdot \frac{V_{supply}}{{}_{}^{\;}{}_{- 1}^{\;}}} = {0.012 \cdot V \cdot s}}$MarginLT := 0.8 MarginK_(e) := 0.9 Basic Calculations: Electric Pole:${Pole}_{e}:={\frac{R_{a}}{L_{w}} = {7.287 \times {10^{3} \cdot {Hz}}}}$Equivalent Impedance:$R_{eq}:={\frac{\left( {\omega_{e\; 0} \cdot L_{w}} \right)^{2} + R_{a}^{2}}{R_{a}} = {5.32\Omega}}$Mechaniacal Pole:${{Pole}_{m}:={\frac{{K_{f} \cdot R_{eq}} + {K_{e} \cdot K_{t}}}{{Inertia} \cdot R_{eq}} = {1.545 \cdot {Hz}}}}\;$${Gain}:={\frac{K_{t}}{{K_{f} \cdot R_{eq}} + {K_{t} \cdot K_{e}}} = {1.61{{.032} \cdot \frac{A}{m \cdot N}}}}$Motor Transfer function:${G_{m}(s)}:=\frac{K_{t}}{{s \cdot {Inertia} \cdot R_{eq}} + {K_{f} \cdot R_{eq}} + {K_{t} \cdot K_{e}}}$Moving Average Filter:${{MAFz}(z)}:=\frac{z^{5} + z^{4} + z^{3} + z^{2} + z + 1}{6 \cdot z^{5}}$${{MAFs}(s)}:={{MAFz}\left( \frac{2 + {s \cdot T_{es}}}{2 - {s \cdot T_{es}}} \right)}$Open Loop Transfer function:${G_{open}(s)} = {{G_{m}(s)} \cdot {{MAFs}(s)} \cdot \left( {{K_{fbk} \cdot K_{d}} - {K_{e} \cdot {MarginK}_{e}} - \frac{R_{a} \cdot K_{f} \cdot {MarginLT}}{K_{t}}} \right)}$PI Controller coefficents: f_(olbw) = 11.25 · Hz$\omega_{olbow}:={{2{\pi f}_{olbw}} = {70.686 \cdot \frac{rad}{s}}}$$K_{fbk}:={\frac{\begin{matrix}\; \\{1 + {{{{G_{m}\left( {j \cdot \omega_{olbw}} \right)} \cdot {{MAFs}\left( {j \cdot \omega_{olbow}} \right)}}} \cdot \left( {{K_{e} \cdot {MarginK}_{e}} + \frac{R_{a} \cdot K_{f} \cdot {MarginLT}}{K_{t}}} \right)}}\end{matrix}}{{K_{d} \cdot {G_{m}\left( {j \cdot \omega_{olbw}} \right)} \cdot {{MAFs}\left( {j \cdot \omega_{olbw}} \right)}}} = 25.457}$In the above example, the gain Kfbk=25.457 has been computed for ameasured rotation speed of 5400 RPM. The following table shows the gainKfbk computed using the above derivation for different measured rotationspeeds of the spindle motor. The gain Kfbk values in the table may thenbe fitted to a curve represented by the following polynomial:

Kfbk=0.797+0.3255·(RPM/100)+0.0024·(RPM1100)²

Spindle Speed Sample Frequency Open Loop (RPM) (Hz) Bandwidth (Hz)K_(fbk) 300 30 0.63 1.743 400 40 0.83 2.081 500 50 1.04 2.448 750 751.56 3.38 1000 100 2.08 4.33 1500 150 3.13 6.304 1750 175 3.65 7.3052000 200 4.17 8.326 2250 225 4.69 9.368 2500 250 5.21 10.435 3000 3006.25 12.651 3500 350 7.29 14.995 4500 450 9.38 20.173 5400 540 11.2525.457

FIGS. 3A and 3B show a disk drive according to an embodiment wherein thecontrol circuitry 8 is operable to execute the flow diagram of FIG. 3Cduring a spin-up operation. A rotation speed of the spindle motor ismeasured (block 70), and feed-forward control is generated based on themeasured rotation speed (block 72). The spindle motor is spun up basedon the feed-forward control (block 74).

FIG. 3D shows control circuitry for spinning up the spindle motoraccording to an embodiment wherein a feedback controller 76 generates afeedback control signal 78 based on the error signal 46. The feedbackcontroller 76 may implement any suitable feedback algorithm, such as theproportional control shown in FIG. 2D. The feedback control signal 78 isadjusted by a feed-forward control signal 80 to generate the controlsignal 50 applied to the driver 52. The feed-forward control signal 80may compensate for one or more disturbances injected into the controlloop, such as a BEMF of the spindle motor 6, or a drag torque of thespindle motor 6.

In one embodiment, the BEMF of the spindle motor 6 counteracts theacceleration torque of the control signal 50, thereby requiring a highercontrol signal (e.g., a higher driving current) in order to apply thedesired acceleration torque to the spindle motor 6. In one embodiment,the BEMF of the spindle motor 6 increases proportionally with therotation speed Nm of the spindle motor, and therefore in the embodimentshown in FIG. 3D, a first feed-forward control signal 82 is generated bymultiplying the measured rotation speed 64 by a gain Ke 84 representingthe BEMF constant of the spindle motor 6. In one embodiment, the BEMFconstant of the spindle motor varies based on the ambient temperature,and therefore in the embodiment of FIG. 2D the gain Ke 84 is adjustedbased on a measured ambient temperature T of the disk drive.

In one embodiment, the spindle motor 6 may exhibit a counteracting dragtorque that may also vary based on the rotation speed of the spindlemotor 6 according to:

$\left( {{LT} = {f\left\lbrack {T,{Nm}} \right\rbrack}} \right) \cdot \frac{{Rw}\lbrack T\rbrack}{{Kt}\lbrack T\rbrack}$

where LT represents the load torque which is a function of the rotationspeed Nm and ambient temperature T, Rw represents a winding resistancewhich is a function of ambient temperature T, and Kt represents a torqueconstant of the spindle motor which is a function of ambient temperatureT. Accordingly, the control circuitry of FIG. 3D comprises blocks 86 and88 representing the above equation to generate a second feed-forwardcontrol signal 90 added to the first feed-forward control signal 82 togenerate a composite feed-forward control signal 80. Any suitablefunction may be employed to compute the load torque (LT) as a functionof the rotation speed Nm and the ambient temperature T, wherein in oneembodiment the function may be generated by curve fitting nominal loadtorque measurements over a number of different ambient temperaturestaken for a representative subset of spindle motors.

FIGS. 4A and 4B show a disk drive according to an embodiment wherein thecontrol circuitry 8 is operable to execute the flow diagram of FIG. 4Cduring a spin-up operation. A rotation speed of the spindle motor ismeasured (block 92), and a control signal is generated based on themeasured rotation speed and a speed command profile (block 94). Thespindle motor is spun up based on the control signal (block 96).

FIG. 4D shows control circuitry for spinning up the spindle motoraccording to an embodiment wherein the speed command profile 42 isgenerated to ensure a minimum spin-up time and a limited powerconsumption under a worst case environmental condition. A controller 98generates the control signal 50 based on a difference (error signal 46)between the measured rotation speed 64 of the spindle motor and a targetrotation speed generated by the speed command profile 42. FIG. 4E showsan example of a speed command profile 42 comprising a target speed as afunction of the spin-up time. The speed command profile may be generatedin any suitable manner, such as by empirically evaluating arepresentative subset of spindle motors over worst case environmentalconditions, such as worst case ambient temperature. In anotherembodiment, the speed command profile may be computed theoreticallybased on nominal technical characteristics of the spindle motor, as wellas a nominal characterization of the spindle motor under worst caseenvironmental conditions. In one embodiment, the speed command profilemay account for a maximum current draw of the spindle motor. By takinginto account the worst case environmental conditions, together with themaximum current draw of the spindle motor, the speed command profile 42may be generated that will ensure a minimum (as well as consistent)spin-up time and a limited power consumption across all operatingconditions.

FIGS. 5A and 5B show a disk drive according to an embodiment wherein thecontrol circuitry 8 is operable to execute the flow diagram of FIG. 5Cduring a spin-up operation. A rotation speed of the spindle motor ismeasured (block 106), and a control signal is generated based on adifference between the measured rotation speed and a target rotationspeed (block 108). The spindle motor is spun-up based on the controlsignal generated over a second fraction of a spin-up time (block 110),wherein the target rotation speed is generated based on a speed commandprofile and the second fraction of the spin-up time. The second fractionof the spin-up time is determined based on an initial measured rotationspeed of the spindle motor (block 104) prior to generating the controlsignal.

In the embodiment of FIG. 5C, the control circuitry 8 begins spinning upthe spindle motor during a first fraction of the spin-up time using anopen loop control system (block 100). After the first fraction of thespin-up time, the initial rotation speed of the spindle motor ismeasured (block 102) so that the second fraction of the spin-up time maybe determined (block 104). In one embodiment illustrated by the speedcommand profile shown in FIG. 5E, the spindle motor is spun-up over aspin-up time with a corresponding target speed increasing over time.During the first fraction of the spin-up time, the spindle motor iscontrolled open loop (independent of the control signal 50), wherein atthe end of this time the spindle motor will be rotating at an unknownrotation speed. Before enabling the closed loop control circuitry ofFIG. 5D, the initial rotation speed of the spindle motor is measured sothat a corresponding point on the speed command profile of FIG. 5E maybe determined, and so that the time index 40 may be appropriatelyinitialized.

In the embodiment illustrated in FIG. 5E, a delta is added to theinitial measured rotation speed so that an initial target rotation speedwhen enabling the closed loop control circuitry of FIG. 5D is higherthan the initial measured rotation speed. In this manner, the initialtarget rotation speed ensures the spindle motor continues acceleratingfrom the initial measured rotation speed after enabling the controlcircuitry of FIG. 5D. After adding the delta to generate the initialtarget rotation speed, the corresponding time in the speed commandprofile may be determined. The time 38 in FIG. 5D may be initialized tozero, and an offset 112 added to the time 38 that is based on theinitial measured rotation speed 114 of the spindle motor. Referringagain to FIG. 5E, after adding the offset 112 to the time 38, the speedcommand profile then generates the target rotation speed over the secondfraction of the spin-up time, wherein the control signal 50 in theclosed loop control circuitry of FIG. 5D is generated based on thistarget rotation speed.

FIGS. 6A and 6B show a disk drive according to an embodiment wherein thecontrol circuitry 8 is operable to execute the flow diagram of FIG. 6Cduring a spin-up operation. The spindle motor is spun up to a targetrotation speed using a spin-up controller (block 116). After spinning upthe spindle motor, an integrator is initialized based on a state of thespin-up controller (block 118), and the spindle motor is then controlledusing a constant-speed controller comprising the integrator (block 120).

FIG. 6D shows control circuitry comprising a spin-up controller 122operable to spin up the spindle motor 6 using, for example, one or moreof the above described techniques. FIG. 6E shows control circuitryaccording to an embodiment wherein at the end of the spin-up operation,a constant-speed controller 124 is used to control the speed of thespindle motor 6. In the embodiment of FIG. 6E, the constant-speedcontroller 124 comprises a proportional/integral (PI) controllerincluding a proportional gain Kp 126 for multiplying the error signal 46and an integrator 128 for integrating the error signal 46. The errorsignal 46 may be generated as the difference between the measuredrotation speed 64 of the spindle motor 6 and a target speed 130corresponding to a constant rotation speed during normal operation ofthe disk drive.

In one embodiment, when the control circuitry 8 transitions from thespin-up controller 122 shown in FIG. 6D to the constant-speed controller124 shown in FIG. 6E, the integrator 128 of the constant-speedcontroller 124 is initialized based on a state of the spin-up controller122 in order to minimize any undershoot or overshoot. In one embodiment,the control circuitry 8 will transition from the spin-up controller 122to the constant-speed controller 124 when the end of the speed commandprofile is reached at the final target speed (at the end of the spin-upinterval), and the error signal 46 is changing at a slow rate whichensures the spin-up controller 122 has reached a steady state.Accordingly, when the spin-up controller 122 has reaches the steadystate, the acceleration control signal 50 being generated by the spin-upcontroller 122 becomes a good candidate for the initial state of theintegrator 128 in the constant-speed controller 124. In one embodiment,the control circuitry is operable to initialize the integrator 128according to:

Accel−Kp·SpeedErr

where Accel represents the acceleration control signal 50 of the spin-upcontroller 122 at the end of the spin-up operation, Kp represents thegain 126 of the constant-speed controller 124, and SpeedErr representsthe error signal 46.

FIG. 7 shows control circuitry according to an embodiment operable tospin up the spindle motor 6 using a combination of the above-describedtechniques. However, other embodiments may employ fewer of the abovedescribed techniques, or a different technique in combination with oneor more of the above-described techniques. For example, in someembodiments it may be unnecessary to employ a moving average filter inorder to measure the rotation speed 36 of the spindle motor 6 if thereis an insignificant misalignment of the poles. Other embodiments mayemploy a moving average filter in order to measure the rotation speed 36with or without employing one or more of the other techniques describedabove.

Any suitable control circuitry may be employed to implement the flowdiagrams in the above embodiments, such as any suitable integratedcircuit or circuits. For example, the control circuitry may beimplemented within a power integrated circuit (PIC), or in a componentseparate from the PIC, such as a disk controller, or certain operationsdescribed above may be performed by a PIC and others by a diskcontroller. In one embodiment, the PIC and disk controller areimplemented as separate integrated circuits, and in an alternativeembodiment they are fabricated into a single integrated circuit orsystem on a chip (SOC).

In one embodiment, the control circuitry comprises a microprocessorexecuting instructions, the instructions being operable to cause themicroprocessor to perform the flow diagrams described herein. Theinstructions may be stored in any computer-readable medium. In oneembodiment, they may be stored on a non-volatile semiconductor memoryexternal to the microprocessor, or integrated with the microprocessor ina SOC. In another embodiment, the instructions are stored on the diskand read into a volatile semiconductor memory when the disk drive ispowered on. In yet another embodiment, the control circuitry comprisessuitable logic circuitry, such as state machine circuitry.

The various features and processes described above may be usedindependently of one another, or may be combined in various ways. Allpossible combinations and subcombinations are intended to fall withinthe scope of this disclosure. In addition, certain method, event orprocess blocks may be omitted in some implementations. The methods andprocesses described herein are also not limited to any particularsequence, and the blocks or states relating thereto can be performed inother sequences that are appropriate. For example, described tasks orevents may be performed in an order other than that specificallydisclosed, or multiple may be combined in a single block or state. Theexample tasks or events may be performed in serial, in parallel, or insome other manner. Tasks or events may be added to or removed from thedisclosed example embodiments. The example systems and componentsdescribed herein may be configured differently than described. Forexample, elements may be added to, removed from, or rearranged comparedto the disclosed example embodiments.

While certain example embodiments have been described, these embodimentshave been presented by way of example only, and are not intended tolimit the scope of the inventions disclosed herein. Thus, nothing in theforegoing description is intended to imply that any particular feature,characteristic, step, module, or block is necessary or indispensable.Indeed, the novel methods and systems described herein may be embodiedin a variety of other forms; furthermore, various omissions,substitutions and changes in the form of the methods and systemsdescribed herein may be made without departing from the spirit of theinventions disclosed herein.

What is claimed is:
 1. A disk drive comprising: a head actuated over adisk; a spindle motor configured to rotate the disk; and controlcircuitry configured to: measure a rotation speed of the spindle motor;generate a feed-forward control based on the measured rotation speed;and spin-up the spindle motor based on the feed-forward control.
 2. Thedisk drive as recited in claim 1, wherein the control circuitry isconfigured to generate the feed-forward control based on the measuredrotation speed and an ambient temperature of the disk drive.
 3. The diskdrive as recited in claim 1, wherein the control circuitry is configuredto generate the feed-forward control proportional to the measuredrotation speed.
 4. The disk drive as recited in claim 3, wherein thefeed-forward control compensates for a back electromotive force of thespindle motor.
 5. The disk drive as recited in claim 1, wherein thefeed-forward control compensates for a drag torque of the spindle motor.6. The disk drive as recited in claim 5, wherein the control circuitryis configured to generate the feed-forward control based on the measuredrotation speed and an ambient temperature of the disk drive.
 7. A methodof operating a disk drive comprising a head actuated over a disk, and aspindle motor configured to rotate the disk, the method comprising:measuring a rotation speed of the spindle motor; generating afeed-forward control based on the measured rotation speed; and spinningup the spindle motor based on the feed-forward control.
 8. The method asrecited in claim 7, further comprising generating the feed-forwardcontrol based on the measured rotation speed and an ambient temperatureof the disk drive.
 9. The method as recited in claim 7, furthercomprising generating the feed-forward control proportional to themeasured rotation speed.
 10. The method as recited in claim 9, whereinthe feed-forward control compensates for a back electromotive force ofthe spindle motor.
 11. The method as recited in claim 7, wherein thefeed-forward control compensates for a drag torque of the spindle motor.12. The method as recited in claim 11, further comprising generating thefeed-forward control based on the measured rotation speed and an ambienttemperature of the disk drive.
 13. Control circuitry for use in a diskdrive comprising a head actuated over a disk, and a spindle motorconfigured to rotate the disk, wherein the control circuitry isconfigured to: measure a rotation speed of the spindle motor; generate afeed-forward control based on the measured rotation speed; and spin-upthe spindle motor based on the feed-forward control.
 14. The controlcircuitry as recited in claim 13, wherein the control circuitry isconfigured to generate the feed-forward control based on the measuredrotation speed and an ambient temperature of the disk drive.
 15. Thecontrol circuitry as recited in claim 13, wherein the control circuitryis configured to generate the feed-forward control proportional to themeasured rotation speed.
 16. The control circuitry as recited in claim15, wherein the feed-forward control compensates for a backelectromotive force of the spindle motor.
 17. The control circuitry asrecited in claim 13, wherein the feed-forward control compensates for adrag torque of the spindle motor.
 18. The control circuitry as recitedin claim 17, wherein the control circuitry is configured to generate thefeed-forward control based on the measured rotation speed and an ambienttemperature of the disk drive.